Analysing open-ended survey responses from KoboToolbox, Google Forms, Qualtrics and more#

8 Nov 2026

Causal Map is a web app for causal mapping: coding the causal claims in what people say (this led to that), by hand or with AI, and joining them into a map of how they think change happened. If you run surveys with open-ended questions, Causal Map turns the answers you have not had time to analyse into evidence about what respondents say caused the changes they saw, which you can compare across the groups recorded in your closed questions.

It reads the exports of KoboToolbox, ODK, SurveyCTO, Google Forms, Microsoft Forms, Qualtrics and SurveyMonkey, and any other spreadsheet with one row per respondent.

Why code the open answers for causes#

Most survey analysis stops at the closed questions. They go straight into a chart. The answers to "What has changed?" and "Why?" often stay in the export, since reading several hundred of them and making sense of them by hand takes days. Yet those are the answers in which respondents explain, in their own words, what led to what.

Causal Map reads each answer for exactly that: the causal claims in it. Most AI features in survey tools do something else with open answers. They sort each answer into themes or summarise it, as KoboToolbox's own AI analysis now does for audio responses. Causal coding keeps the connections. Each claim becomes a link from one factor to another. From these you can see which causes respondents mention most, follow the pathways from a project's activities to its outcomes, and count how many respondents describe each step.

Exporting the responses from your survey tool#

Each of these tools exports one row per respondent. Download the responses as XLSX (Excel) or CSV.

KoboToolbox#

ODK Central#

SurveyCTO#

Google Forms#

Microsoft Forms#

Qualtrics#

SurveyMonkey#

Importing into Causal Map#

  1. In Causal Map, open a project or create one, and use Upload sources (the green + at the top left, or the Sources panel) to pick the file.
  2. A panel lists every column in the export, each with an example answer, how many respondents filled it in, and a first guess at its role: ID, Text, Metadata or Skip. Check the guesses and change any that are wrong.
  3. Press Import. The panel then reports what it did: respondents read and imported, answers imported, empty answers skipped, and anything it left out.

The survey import panel for a KoboToolbox export, with a first guess at each column's role

What each column becomes#

For each kind of column in a survey export, the table shows what the import makes of it unless you choose otherwise.

In the survey export In Causal Map
One row (one respondent) One source, titled "Respondent" and its ID
The tool's response ID: _id in KoboToolbox, KEY in ODK and SurveyCTO, ResponseId in Qualtrics, Respondent ID in SurveyMonkey, ID in Microsoft Forms The source's ID. Without one, respondents are numbered in file order
A text question with long, varied answers Text: a statement in the source, headed by its question, ready for causal coding
A question answered from a short list (district, gender, village) Metadata: a source column
A select-many question, including any separate 0/1 column for each option Metadata
Numbers and dates, including start and end times Metadata
The survey tool's own columns, such as KoboToolbox's _uuid and _submission_time, SurveyCTO's formdef_version and review_status, and Qualtrics' Status Skip
Names, phone numbers, email addresses, IP addresses, GPS points Skip
Repeat groups on sheets of their own Left out, and named in the report

Respondents who answered none of the Text questions are left out as well, and counted in the report: a source with no text has nothing to code.

An example#

A made-up household survey asks "What has changed in your household's access to water in the past year?" and "Why do you think that happened?", alongside district and gender. After the import, one respondent's source reads:

question_id: What has changed in your household's access to water in the past year?
We no longer walk to the river. The new borehole is ten minutes from the house, so the girls get to school on time.

question_id: Why do you think that happened?
The water committee asked the project for a borehole at the village meeting.

The source also carries District = North and Gender = Female as source columns. Causal coding of the text, with AI or by hand, gives links such as New borehole near the house → Less time fetching water → Girls arrive at school on time and Water committee request → New borehole near the house. Put together, this one respondent's two answers already make a chain from the water committee's request to the girls arriving at school on time. Across a few hundred respondents, chains like these make the map.

Which Causal Map features answer which questions#

Once the answers are coded, these are the questions survey teams usually bring, and where to find the answers. For the coding itself, see Autocoding with AI.

Privacy#

Survey responses describe people, so check where they will be seen before you upload them.

Good to know#

This page was drafted by the Causal Map team with the assistance of Claude, an AI model from Anthropic; the content and judgements are our own.